package com.cskaoyan.javase.exception.handle2.catch2.exercise;

/**
 * @description: 多分支catch异常处理 练习
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * > 牛刀小试
 * - 需求：单独处理除0异常，但是空指针和下标越界异常一起处理
 * 思考：
 * |能够用||吗？
 * 这个|不是逻辑运算符的或，它只是表示catch能够同时匹配两边的异常类型，它不是进行计算，没有短路的概念
 *
 * 现在程序在前后端交互中，因为某些原因产生异常，程序无法正常进行了
 * 在产生异常的方法中，它就不一定会立刻处理这个异常
 * 404
 * 这种情况 都是有一个专门的工程去处理异常的
 *
 * 思考：
 * 对于运行时异常，如果我们不处理，它的默认处理方式是什么？
 * 它的默认处理方式就是向上抛出，直到抛给jvm
 * 所以，我们在程序当中，如果想要向上抛出运行时异常，不需要写任何代码的
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        //System.out.println(10/0);
        try {

        }catch (ArithmeticException ae){
            ae.printStackTrace();
            System.out.println("单独处理除0异常");
        }catch (NullPointerException | ArrayIndexOutOfBoundsException e){
            e.printStackTrace();
            System.out.println("空指针和下标越界异常一起处理");
        }
    }
}
